home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / APPEXPRT.PAK / TWINDOW.OWL < prev    next >
Text File  |  1997-05-06  |  4KB  |  155 lines

  1. <<[H]TWindow [[TWindow]]
  2. ##{hheader.snp}
  3. ##<<TApplication QUERY_FILENAME_CPP [[Filename]]
  4. #include "[[Filename]].rh"            // Definition of all resources.
  5.  
  6.  
  7. //{{TWindow = [[TWindow]]}}
  8. class [[TWindow]] : public TWindow {
  9.   public:
  10.     [[TWindow]](TWindow* parent, const char far* title = 0, TModule* module = 0);
  11.     virtual ~[[TWindow]]();
  12. ##--BEGIN-- @OPT_APPL_PRINTING
  13.  
  14. //{{[[TWindow]]VIRTUAL_BEGIN}}
  15.   public:
  16.     virtual void Paint(TDC& dc, bool erase, TRect& rect);
  17. ##:DBVirtual(\\"[[TWindow]]", "Paint")
  18. //{{[[TWindow]]VIRTUAL_END}}
  19. //{{[[TWindow]]RSP_TBL_BEGIN}}
  20.   protected:
  21.     void EvGetMinMaxInfo(MINMAXINFO far& minmaxinfo);
  22. //{{[[TWindow]]RSP_TBL_END}}
  23. DECLARE_RESPONSE_TABLE([[TWindow]]);
  24. ##--END-- @OPT_APPL_PRINTING
  25. };    //{{[[TWindow]]}}
  26. ##{hfooter.snp}
  27. >>[H]TWindow [[TWindow]]
  28.  
  29.  
  30. <<[CPP]TWindow [[TWindow]]
  31. ##{cheader.snp}
  32. #include <owl/pch.h>
  33.  
  34. ##<<TApplication QUERY_FILE_H [[FileName]]
  35. #include "[[FileName]]"
  36. ##--BEGIN-- !@OPT_APPL_DOCVIEW
  37. ##  --BEGIN-- @QUERY_APPL_MODEL == VALUE_MDI
  38. ##:     <<TMDIChild QUERY_WIND_CLIENT [[Client]]
  39. ##:     <<*Client QUERY_FILE_H [[FileName]]
  40. #include "[[FileName]]"
  41. ##  --END-- @QUERY_APPL_MODEL == VALUE_MDI
  42. ##  --BEGIN-- @QUERY_APPL_MODEL == VALUE_SDI
  43.  
  44. ##  --END-- @QUERY_APPL_MODEL == VALUE_SDI
  45. ##--END-- !@OPT_APPL_DOCVIEW
  46. ##QUERY_FILE_H [[FileName]]
  47. #include "[[FileName]]"
  48.  
  49. #include <stdio.h>
  50.  
  51.  
  52. //{{[[TWindow]] Implementation}}
  53.  
  54.  
  55. ##--BEGIN-- @OPT_APPL_PRINTING
  56. ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 4
  57. //
  58. // Build a response table for all messages/commands handled
  59. // by [[TWindow]] derived from TWindow.
  60. //
  61. DEFINE_RESPONSE_TABLE1([[TWindow]], TWindow)
  62. //{{[[TWindow]]RSP_TBL_BEGIN}}
  63. ##:DBResponse(\\"[[TWindow]]", "", "", "WM_GETMINMAXINFO", "")
  64.   EV_WM_GETMINMAXINFO,
  65. //{{[[TWindow]]RSP_TBL_END}}
  66. END_RESPONSE_TABLE;
  67.  
  68.  
  69. ##--END-- @OPT_APPL_PRINTING
  70. ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
  71. //--------------------------------------------------------
  72. // [[TWindow]]
  73. // ~~~~~~~~~~
  74. // Construction/Destruction handling.
  75. //
  76. ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
  77. [[TWindow]]::[[TWindow]](TWindow* parent, const char far* title, TModule* module)
  78. :
  79.   TWindow(parent, title, module)
  80. {
  81. ##QUERY_WIND_STYLE [[StyleAttributes]]
  82. ##StyleAttributes != "" 3
  83.   // Override the default window style for TWindow.
  84. [[StyleAttributes]]
  85.  
  86. ##{wndbkgd.snp}
  87.   // INSERT>> Your constructor code here.
  88.  
  89. }
  90.  
  91.  
  92. [[TWindow]]::~[[TWindow]]()
  93. {
  94.   Destroy();
  95.  
  96.   // INSERT>> Your destructor code here.
  97.  
  98. }
  99. ##--BEGIN-- @OPT_APPL_PRINTING == TRUE
  100.  
  101.  
  102. ##@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
  103. //
  104. // Paint routine for Window, Printer, and PrintPreview for an TWindow client.
  105. //
  106. void [[TWindow]]::Paint(TDC&, bool, TRect& rect)
  107. {
  108. ##<<TApplication QUERY_CLASS_NAME [[TApplication]]
  109.   [[TApplication]]* theApp = TYPESAFE_DOWNCAST(GetApplication(), [[TApplication]]);
  110.   if (theApp) {
  111. ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
  112.     // Only paint if we're printing and we have something to paint, otherwise do nothing.
  113.     //
  114.     if (theApp->Printing && theApp->Printer && !rect.IsEmpty()) {
  115. ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 3
  116.       // Use pageSize to get the size of the window to render into.  For a Window it's the client area,
  117.       // for a printer it's the printer DC dimensions and for print preview it's the layout window.
  118.       //
  119.       TSize   pageSize(rect.right - rect.left, rect.bottom - rect.top);
  120.  
  121.       TPrintDialog::TData& printerData = theApp->Printer->GetSetup();
  122.  
  123. ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE 2
  124.       // Compute the number of pages to print.
  125.       //
  126.       printerData.MinPage = 1;
  127.       printerData.MaxPage = 1;
  128.  
  129.       // INSERT>> Special printing code goes here.
  130.  
  131.     }
  132.     else {
  133.       // INSERT>> Normal painting code goes here.
  134.  
  135.     }
  136.   }
  137. }
  138.  
  139.  
  140. void [[TWindow]]::EvGetMinMaxInfo(MINMAXINFO far& minmaxinfo)
  141. {
  142. ##<<TApplication QUERY_CLASS_NAME [[TApplication]]
  143.   [[TApplication]]* theApp = TYPESAFE_DOWNCAST(GetApplication(), [[TApplication]]);
  144.   if (theApp) {
  145.     if (theApp->Printing) {
  146.       minmaxinfo.ptMaxSize = TPoint(32000, 32000);
  147.       minmaxinfo.ptMaxTrackSize = TPoint(32000, 32000);
  148.       return;
  149.     }
  150.   }
  151.   TWindow::EvGetMinMaxInfo(minmaxinfo);
  152. }
  153. ##--END-- @OPT_APPL_PRINTING == TRUE
  154. >>[CPP]TWindow [[TWindow]]
  155.